﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Nature;
using Nature.Numerics;
using System.Diagnostics;
using Nature.Numerics.Basic;

namespace Nature.Toolkit.GEqu
{
    public class ChemicalEquilibriumStateNotInitializedException : InvalidOperationException
    {
        public const string NullTemperatureMessage = "Base temperature has not been initialized";
        public const string NullPressureMessage = "Base pressure has not been initialized";
        public const string NullCompositionMessage = "Base composition has not been initialized";

        public static ChemicalEquilibriumStateNotInitializedException CreateNullTemperatureException() { return new ChemicalEquilibriumStateNotInitializedException(NullTemperatureMessage); }

        public static ChemicalEquilibriumStateNotInitializedException CreateNullPressureException() { return new ChemicalEquilibriumStateNotInitializedException(NullPressureMessage); }

        public static ChemicalEquilibriumStateNotInitializedException CreateNullCompositionException() { return new ChemicalEquilibriumStateNotInitializedException(NullCompositionMessage); }

        private ChemicalEquilibriumStateNotInitializedException(string message) : base(message) { }

    }    
}